package org.code.boot.service.common;

import java.util.List;
import org.code.boot.domain.common.ComLike;
import org.code.boot.vo.AjaxResult;

/**
 * 通用点赞Service接口
 * 
 * @author ruoyi
 * @date 2023-08-27
 */
public interface IComLikeService
{
    /**
     * 查询通用点赞
     * 
     * @param likeId 通用点赞主键
     * @return 通用点赞
     */
    public ComLike selectBizLikeByLikeId(Long likeId);

    /**
     * 查询通用点赞列表
     * 
     * @param comLike 通用点赞
     * @return 通用点赞集合
     */
    public List<ComLike> selectBizLikeList(ComLike comLike);

    /**
     * 新增通用点赞
     * 
     * @param comLike 通用点赞
     * @return 结果
     */
    public int insertBizLike(ComLike comLike);

    /**
     * 修改通用点赞
     * 
     * @param comLike 通用点赞
     * @return 结果
     */
    public int updateBizLike(ComLike comLike);

    /**
     * 批量删除通用点赞
     * 
     * @param likeIds 需要删除的通用点赞主键集合
     * @return 结果
     */
    public int deleteBizLikeByLikeIds(Long[] likeIds);

    /**
     * 删除通用点赞信息
     * 
     * @param likeId 通用点赞主键
     * @return 结果
     */
    public int deleteBizLikeByLikeId(Long likeId);

    /**
     * 点赞/取消点赞
     * 
     * @param businessType 业务类型
     * @param businessId 业务ID
     * @return 结果
     */
    public AjaxResult toggleLike(String businessType, Long businessId);

    /**
     * 获取点赞数和点赞状态
     * 
     * @param businessType 业务类型
     * @param businessId 业务ID
     * @return 结果
     */
    public AjaxResult getLikeInfo(String businessType, Long businessId);
}